import random
import time

start = time.clock()

def pomiar(start):
    print time.clock() - start
    start = time.clock()
    
def licz_srednia(lista):
    suma = 0.0
    for i in range(lista.__len__()):
        suma = suma + lista[i]
    return suma/lista.__len__()

populacja = 40000000 #40 mln
srednia = 4000000 # 4 mln
redundancja = 100
liczba_prob = 1000

rozklad = [[] for i in range(redundancja)]

przedzialy = populacja/srednia

lista = []
wystapienia = [[] for i in range(przedzialy)]
for k in range(liczba_prob):

    for i in range(redundancja):
        x = random.randint(1, populacja)
        rozklad[i] = x

    for i in range(przedzialy):
        liczba = 0
        for j in rozklad:
            if j > i*srednia and j < (i+1)*srednia:
                liczba = liczba + 1
        wystapienia[i].append(liczba)
        lista.append('przedzial od %d do %d, liczba wystapien %d' % (i*srednia, (i+1)*srednia, liczba))
            

#print lista
for i in range(przedzialy):
    print 'przedzial od %d do %d \n\tsrednia liczba wystapien: %f' % \
        (i*srednia, (i+1)*srednia, licz_srednia(wystapienia[i]))
    print '\t 0 wystapilo %d razy' % wystapienia[i].count(0)
    print '\t 1 wystapilo %d razy' % wystapienia[i].count(1)
    print '\t 2 wystapilo %d razy' % wystapienia[i].count(2)
    print '\t 3 wystapilo %d razy' % wystapienia[i].count(3)
    print '\t 4 wystapilo %d razy' % wystapienia[i].count(4)
    print '\t 5 wystapilo %d razy' % wystapienia[i].count(5)
    print '\t 6 wystapilo %d razy' % wystapienia[i].count(6)
    print '\t 7 wystapilo %d razy' % wystapienia[i].count(7)
